{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第一次习题\n",
    "## 第一章\n",
    "\n",
    "###  一、多选题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1.下面```(   )```选项是正确的```Pyhon```标准库对象导入语句。\n",
    "```\n",
    "A. import math.sin as sin\n",
    "B. from math import sin\n",
    "C. import math.*\n",
    "D. from math import *\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案： A D"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2.下面开发环境可以用来编写和调试```Python```程序的有```(   )```。\n",
    "```\n",
    "A. IDLE\n",
    "B. Jupyter Notebook\n",
    "C. Spyder\n",
    "D. PyCharm\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案： A B D"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3.下面说法正确的选项有```(   )```。\n",
    "```\n",
    "A.正确的缩进对Python程序是非常重要的\n",
    "B.在表达式中圆括号可以改变运算顺序\n",
    "C.在Python 3.x中可以使用中文做变量名\n",
    "D. Pyhon程序中的空格和空行可有可无，但是适当的增加空格和空行可以提高代码的可读性\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案： A D"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二、判断题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```\n",
    "1.缩进对于Python代码至关重要。(    )\n",
    "2.为了让代码更加紧凑，减少占用空间，不应该在代码中任何位置增加空格和空行。(    )\n",
    "3.在Python 3x中不能使用汉字作为变量名。(    )\n",
    "4.对于复杂表达式，如果计算结果是正确的，那么不建议再增加圆括号来说明计算顺序，样可以使得代码更加简洁、清晰。(    )\n",
    "5.在编写代码时，一般应先导入标准库对象，再导入扩展库对象。(    )\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：（1）√  （2）×  （3）√  （4）×  （5）√"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 三、操作题\n",
    "```\n",
    "1.下载并安装Python官方安装包和Anaconda3.\n",
    "2.使用Jupyter Notebook或Spyder运行并体会本章中的代码。\n",
    "3.安装扩展库numpy、pandas、 matplotlib、 openpyxl、 python-do\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二章"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 一、填空题"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "\n",
    "1.表达式-68//7的值为_______。\n",
    "2.表达式{40,50,60}|{40,60,70}的值为_______。\n",
    "3.表达式{40,50,60}&{40,60,70}的值为_______。\n",
    "4.表达式{40, 50, 60}-{40, 60, 70}的值为_______。\n",
    "5.表达式chr(ord('0')+3)的值为_______。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案： (1)  10  (2)  {40,50,60,70}  (3)  {40,60}  (4)  {50}  (5)  3  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二、判断题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```\n",
    "l.表达式3>5 and math.sin(0)的值为0。(   )\n",
    "2.表达式4<5==5的值为True。(   )\n",
    "3.在Python 3.x中，内置函数input()用来接收用户的键盘输入,不管输入什么,都以字符串的形式返回。(   )\n",
    "4.在Python 3.x中，reduce()是内置函数，可以直接使用。(   )\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：  (1)  ×  （2） √  （3）  √  （4）  √  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 三、编程题"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "1.输入一个包含若干自然数的列表，输出这些自然数的平均值，结果保留3位小数。\n",
    "2.输入一个包含若干自然数的列表，输出这些自然数降序排列后的新列表。\n",
    "3.输入一个包含若干自然数的列表，输出一个新列表，新列表中每个元素为原列表中每个自然数的位数。例如，输入[1, 888, 99, 23456]，输出[1,3,2, 5]。\n",
    "4.输入一个包含若干数字的列表，输出其中绝对值最大的数字。例如,输入[-8,64,3.5,89]，输出-89。\n",
    "5.输入一个包含若干整数的列表，输出这些整数的乘积。例如，输入[-2,3,4], 输出-24。\n",
    "6.输入两个包含若干整数的等长列表，把这两个列表看作两个向量，输出这两个向量的内积。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def average6(s): \n",
    "    sum = 0\n",
    "    for i in s:\n",
    "        sum += i\n",
    "    avg=sum/len(s)\n",
    "    print('%.3f'%avg)\n",
    "s = 1，2，3\n",
    "average6(s)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def des7(S): \n",
    "    for i in range(0,len(S)):\n",
    "        for j in range(i,len(S)):\n",
    "            if S[i] < S[j]:\n",
    "                temp=S[i]\n",
    "                S[i]=S[j]\n",
    "                S[j]=temp\n",
    "    print (S)\n",
    "S = [1,2,5,3,8,3]\n",
    "des7(S)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "list(map(len,map(str,{1, 888, 99, 23456})))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "list(max(list(-8,64,3.5,89)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "ls = [-2,3,4]\n",
    "reduce(mul,ls)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def inner11(S1,S2):\n",
    "    m=[]\n",
    "    for i in range(0,len(S1)):\n",
    "        m.append(S1[i]*S2[i])\n",
    "    print(m)\n",
    "x=[1,2,-3,10]\n",
    "y=[3,-1,5,4]\n",
    "inner11(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
